Signal processing techniques of various kinds (such as demodulating carrier waveforms, computing Fourier transforms, and the like, have been in use in telecommunications and other industries for decades. For some kinds of signal processing applications, analog signals (e.g., signals collected by sensors or antennas) are converted into digital data, and then sophisticated analysis algorithms are run on the digitized data to extract information. The process may be reversed for other kinds of applications in which various types of algorithms are used to convert digital data to analog form for output, e.g., in the form of audio or video signals. The output from one analysis algorithm may in some cases be used as input for another algorithm, resulting in a pipelined signal processing architecture.
As the costs of using mobile phones and other devices that include sensors have fallen in recent years, the number of potential sources and destinations of data for which signal processing applications may be implemented has increased dramatically. More and more sensor-based devices are being deployed, not only by traditional research organizations and governments, but also by commercial entities and even individuals as part of the progress towards “an Internet of things”.
Unfortunately, a number of factors may lead to high barriers of entry for new business entities that wish to implement applications that utilize signal processing. For example, domain experts have typically been responsible for designing and coding the various signal processing algorithms, and the supply of such experts is often limited. In some scenarios, the hardware and/or software modules implementing the algorithms are customized in such a way that they are not very easy to use, at least by other parties than the original organizations where they were developed. Expensive, special-purpose and/or high-end hardware servers have traditionally been deployed for signal processing in some environments. It may require substantial effort to evaluate the costs and benefits of alternative approaches for a given type of signal processing, and hence to develop and sell services and applications that rely on signal processing techniques.
While embodiments are described herein by way of example for several embodiments and illustrative drawings, those skilled in the art will recognize that embodiments are not limited to the embodiments or drawings described. It should be understood, that the drawings and detailed description thereto are not intended to limit embodiments to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope as defined by the appended claims. The headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description or the claims. As used throughout this application, the word “may” is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must). Similarly, the words “include,” “including,” and “includes” mean including, but not limited to.